home *** CD-ROM | disk | FTP | other *** search
/ comtecelectrical.ca / www.comtecelectrical.ca.tar / www.comtecelectrical.ca / infobots / Backup / MSOCache / All Users / 90000409-6000-11D3-8CFE-0150048383C9 / Q2561411.CAB / POWERPNT.EXE / RCDATA / 5903 < prev    next >
Text File  |  2003-07-30  |  7KB  |  270 lines

  1.  
  2. /*********************************************
  3.  Navigation button implementation
  4.  
  5.  There are 2 types of buttons: ImgBtn, TxtBtn
  6.  implemented as function objects. They share
  7.  a similiar interface so the event handlers
  8.  can call SetActive, for example, on a button 
  9.  object without needing to know exactly 
  10.  what type of button it is.
  11. **********************************************/
  12.  
  13. //----------------------------------
  14. function ImgBtn( oId,bId,w,action )
  15. //----------------------------------
  16. {
  17.     var t=this
  18.     t.Perform    = _IBP
  19.     t.SetActive  = _IBSetA
  20.     t.SetInactive= _IBSetI
  21.     t.SetPressed = _IBSetP
  22.     t.SetDisabled= _IBSetD
  23.     t.Enabled    = _IBSetE
  24.     t.ChangeIcon = null
  25.     t.UserAction = action
  26.     t.ChgState   = _IBUI
  27.     t.mObjId   = oId
  28.     t.mBorderId= bId
  29.     t.mWidth   = w
  30.     t.mIsOn    = t.mCurState = 0
  31. }
  32.  
  33. function _IBSetA()
  34. {
  35.     if( this.mIsOn ) {
  36.         obj=this.ChgState( gHiliteClr,gShadowClr,2 )
  37.         obj.style.posTop=0
  38.     }
  39. }
  40.  
  41. function _IBSetI()
  42. {
  43.     if( this.mIsOn ) {
  44.         obj=this.ChgState( gFaceClr,gFaceClr,1 )
  45.         obj.style.posTop=0 
  46.     }
  47. }
  48.  
  49. function _IBSetP()
  50. {
  51.     if( this.mIsOn ) {
  52.         obj=this.ChgState( gShadowClr,gHiliteClr,2 )
  53.         obj.style.posLeft+=1; obj.style.posTop+=1
  54.     }
  55. }
  56.  
  57. function _IBSetD()
  58. {  
  59.     obj=this.ChgState( gFaceClr,gFaceClr,0 )
  60.     obj.style.posTop=0 
  61. }
  62.  
  63. function _IBSetE( state )
  64. {
  65.     var t=this
  66.     GetObj( t.mBorderId ).style.visibility="visible"
  67.     if( state != t.mIsOn ) {
  68.         t.mIsOn=state
  69.         if( state )
  70.             t.SetInactive()
  71.         else
  72.             t.SetDisabled()
  73.     }
  74. }
  75.  
  76. function _IBP()
  77. {
  78.     var t=this
  79.     if( t.mIsOn ) {
  80.         if( t.UserAction != null )
  81.             t.UserAction()
  82.         if( t.ChangeIcon ) {
  83.             obj=GetObj(t.mObjId)
  84.             if( t.ChangeIcon() )
  85.                 obj.style.posLeft=obj.style.posLeft+(t.mCurState-4)*t.mWidth
  86.             else
  87.                 obj.style.posLeft=obj.style.posLeft+(t.mCurState-0)*t.mWidth
  88.         }
  89.         t.SetActive()
  90.     }  
  91. }
  92.  
  93. function _IBUI( clr1,clr2,nextState )
  94. {
  95.     var t=this
  96.     SetBorder( GetObj( t.mBorderId ),clr1,clr2 )
  97.     obj=GetObj( t.mObjId )
  98.     obj.style.posLeft=obj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj.style.posTop
  99.     t.mCurState=nextState
  100.     return obj
  101. }
  102.  
  103. //-----------------------------------------
  104. function TxtBtn( oId,oeId,action,chkState )
  105. //-----------------------------------------
  106. {
  107.     var t=this
  108.     t.Perform    = _TBP
  109.     t.SetActive  = _TBSetA
  110.     t.SetInactive= _TBSetI
  111.     t.SetPressed = _TBSetP
  112.     t.SetDisabled= _TBSetD
  113.     t.SetEnabled = _TBSetE
  114.     t.GetState   = chkState
  115.     t.UserAction = action
  116.     t.ChgState   = _TBUI
  117.     t.mObjId      = oId
  118.     t.m_elementsId= oeId
  119.     t.mIsOn       = 1
  120. }
  121.  
  122. function _TBSetA()
  123. {
  124.     var t=this
  125.     if( t.mIsOn && !t.GetState() )
  126.         t.ChgState( gHiliteClr,gShadowClr,0,0 )
  127. }
  128.  
  129. function _TBSetI()
  130. {
  131.     var t=this
  132.     if( t.mIsOn && !t.GetState() )
  133.         t.ChgState( gFaceClr,gFaceClr,0,0 )
  134. }
  135.  
  136. function _TBSetP()
  137. {
  138.     if( this.mIsOn )
  139.         this.ChgState( gShadowClr,gHiliteClr,1,1 )
  140. }
  141.  
  142. function _TBSetD()
  143. {   
  144.     this.ChgState( gFaceClr,gFaceClr,0,0 )
  145.     this.mIsOn = 0
  146. }
  147.  
  148. function _TBSetE()
  149. {
  150.     var t=this
  151.     if( !t.GetState() )
  152.         t.ChgState( gFaceClr,gFaceClr,0,0 )
  153.     else
  154.         t.ChgState( gShadowClr,gHiliteClr,1,1 )
  155.     t.mIsOn = 1
  156. }
  157.  
  158. function _TBP()
  159. {
  160.     var t=this
  161.     if( t.mIsOn ) { 
  162.         if( t.UserAction != null )
  163.             t.UserAction()
  164.         if( !t.GetState )
  165.             return
  166.         if( t.GetState() )
  167.             t.SetPressed()
  168.         else
  169.             t.SetActive()
  170.     }  
  171. }
  172.  
  173. function _TBUI( clr1,clr2,lOffset,tOffset )
  174. {
  175.     SetBorder( GetObj( this.mObjId ),clr1,clr2 )
  176.     Offset( GetObj( this.m_elementsId ),lOffset,tOffset )
  177. }
  178.  
  179. function Offset( obj, top, left ){ obj.style.top=top; obj.style.left=left }
  180.  
  181. function SetBorder( obj, upperLeft, lowerRight )
  182. {
  183.     s=obj.style;
  184.     s.borderStyle      = "solid"
  185.     s.borderWidth      = 1 
  186.     s.borderLeftColor  = s.borderTopColor = upperLeft
  187.     s.borderBottomColor= s.borderRightColor = lowerRight
  188. }
  189.  
  190. function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] }
  191.  
  192. function BtnOnOver(){ b=GetBtnObj(); if( b != null ) b.SetActive() }
  193.  
  194. function BtnOnDown(){ b=GetBtnObj(); if( b != null ) b.SetPressed() }
  195.  
  196. function BtnOnOut(){ b=GetBtnObj(); if( b != null ) b.SetInactive() }
  197.  
  198. function BtnOnUp()
  199. {
  200.     b=GetBtnObj()
  201.     if( b != null )
  202.         b.Perform()
  203.     else
  204.         Upd()
  205. }
  206. function GetNtsState(){ return parent.gNtsOpen }
  207.  
  208. function GetOtlState(){ return parent.gOtlOpen }
  209.  
  210. function GetOtlTxtState(){ return parent.gOtlTxtExp }
  211.  
  212. function NtsBtnSetFlag( fVal )
  213. {
  214.     s=document.all.item( this.m_flagId ).style
  215.     s.display="none"
  216.     if( fVal )
  217.         s.display=""
  218.     else
  219.         s.display="none"
  220. }
  221.  
  222. function _BSetA_Border(){ b = gBtnArr[this.mObjId]; if( b != null ) b.SetActive() }
  223.  
  224. function _BSetI_Border(){ b = gBtnArr[this.mObjId]; if( b != null ) b.SetInactive() }
  225.  
  226. function _BSetP_Border(){ b = gBtnArr[this.mObjId]; if( b != null ) b.SetPressed() }
  227.  
  228. function _BSetA_BorderImg()
  229.     b = gBtnArr[this.mBorderId] 
  230.     if( b != null && this.mIsOn && !b.GetState() ) {
  231.         obj=this.ChgState( gHiliteClr,gShadowClr,2 )
  232.         obj.style.posTop=0
  233.     }
  234. }
  235.  
  236. function _BSetI_BorderImg()
  237.     b = gBtnArr[this.mBorderId]
  238.     if( b != null && this.mIsOn && !b.GetState() ) {
  239.         obj=this.ChgState( gFaceClr,gFaceClr,1 )
  240.         obj.style.posTop=0
  241.     }
  242. }
  243.  
  244.  
  245. var gHiliteClr="THREEDHIGHLIGHT",gShadowClr="THREEDSHADOW",gFaceClr="THREEDFACE"
  246. var gBtnArr = new Array()
  247. gBtnArr["nb_otl"] = new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPane,GetOtlState )
  248. gBtnArr["nb_otlElem"] = new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPane,GetOtlState )
  249. gBtnArr["nb_nts"] = new ImgBtn( "nb_nts","nb_ntsBorder",10,parent.ToggleNtsPane )
  250. gBtnArr["nb_nts"].SetActive = _BSetA_BorderImg;
  251. gBtnArr["nb_nts"].SetInactive = _BSetI_BorderImg;
  252. gBtnArr["nb_ntsBorder"] = new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.ToggleNtsPane,GetNtsState )
  253. gBtnArr["nb_ntsElem"] = new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.ToggleNtsPane,GetNtsState )
  254. gBtnArr["nb_prevBorder"] = gBtnArr["nb_prev"]= new ImgBtn( "nb_prev","nb_prevBorder",30,parent.GoToPrevSld )
  255. gBtnArr["nb_nextBorder"] = gBtnArr["nb_next"]= new ImgBtn( "nb_next","nb_nextBorder",30,parent.GoToNextSld )
  256. gBtnArr["nb_sldshw"]= new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent.FullScreen )
  257. gBtnArr["nb_sldshwBorder"] = new TxtBtn( "nb_sldshw","nb_sldshwBorder",parent.FullScreen,null )
  258. gBtnArr["nb_sldshwBorder"].SetActive = _BSetA_Border;
  259. gBtnArr["nb_sldshwBorder"].SetInactive = _BSetI_Border;
  260. gBtnArr["nb_sldshwText"] = new TxtBtn( "nb_sldshw","nb_sldshwText",parent.FullScreen,null )
  261. gBtnArr["nb_sldshwText"].SetActive = _BSetA_Border;
  262. gBtnArr["nb_sldshwText"].SetInactive = _BSetI_Border;
  263. gBtnArr["nb_voice"] = gBtnArr["nb_voiceBorder"] = new ImgBtn( "nb_voice","nb_voiceBorder",18,parent.ToggleVNarration )
  264. gBtnArr["nb_otlTxtBorder"] = gBtnArr["nb_otlTxt"]= new ImgBtn( "nb_otlTxt","nb_otlTxtBorder",23,parent.ToggleOtlText )
  265. gBtnArr["nb_ntsBorder"].m_flagId= "nb_nts"
  266. gBtnArr["nb_ntsBorder"].SetFlag = NtsBtnSetFlag
  267. gBtnArr["nb_otlTxt"].ChangeIcon= GetOtlTxtState
  268.